Command-line interface¶
Currently, the emulator runs through a terminal, and opens an output window.
You can associate the executable with N64 ROM files to easily open them.
You can also drag and drop a file into the executable to run it.
DotN64.Desktop.exe [Options] [ROM image]
Arguments¶
Name | Description |
---|---|
ROM image | Opens the file or .zip archive as a game cartridge. |
ROM image¶
The ROM must be in big-endian. A .zip
file containing the ROM can also be provided.
Options¶
Name | Arguments | Description |
---|---|---|
--ipl |
file |
Loads the PIF's boot ROM into the machine. |
--debug , -d |
None. | Starts the debugger. |
--update , -u |
action (optional) |
Updates the program. |
--repair , -r |
None. | Repairs the installation by redownloading all files. |
--help , -h |
None. | Shows this help. |
--no-video |
None. | Disables the video output. |
--borderless |
None. | Hides the border decorations from the window. |
--fullscreen |
None. | Enters full screen mode. |
--info |
file |
Displays header information for a game. |
--audio-latency |
time |
Overrides the audio buffer size (in milliseconds). |
ipl¶
The IPL is the boot ROM the N64's CPU boots from. It is located inside the PIF (peripheral interface) chip.
The code executed initialises various registers, and transfers control to the boot device the PIF detected on startup (either a cartridge, where its own IPL is copied to the RSP's memory, or an expansion device such as the 64DD which also provides its IPL stage).
This ROM also determines the region the console was manufactured for by writing a constant into a register.
update¶
action
(optional): The action to perform.check
,c
: Checks for a new update.list
,l
: Lists the release streams available for download.stream
,s
(default:(current)
): Downloads an update from the specified release stream.
Tip
Add -u -
to a shortcut/script for the emulator to automatically check and update itself on launch.
Usually, no program restart is required, so this is a seamless operation.
info¶
Displays the cartridge header information for a given file.
Example
Image name: SUPER MARIO 64
ID: NSMP
Version: 1.0
Release: OS 2.4F
Media format: Cartridge
Region: Europe
Size: 8 MB
CRC: 0xA03CF036BCC1C5D2
Boot address: 0x80241800
Clock rate: 15
audio-latency¶
This parameter overrides the audio buffer size, which defaults to the size of buffers games send to the hardware.
This option will keep telling the software that the audio buffer is starved until there is at least milliseconds
' worth of audio data buffered.
If sound becomes choppy, try to increase this value; however, it comes at the cost of added latency/desynchronisation with the video feed.
Note
Games may differ in how much they fill the audio buffer at a time, so this parameter should be bumped to satisfy the worst cases.
Further, the audio stack of your hardware and operating system may be more or less efficient than others, so tweak this value as needed.
For instance, on my system with a given ROM, I can lower the latency to 23 ms on Linux with the PulseAudio server, while Windows requires 90 ms.
Controls¶
Here is the default keyboard layout:
Key | Action |
---|---|
Esc | Stops emulation. |
Pause/Break | Invokes the debugger. |
F | Toggles fullscreen. |
R | Reset button. |
Numpad - | Ejects the cartridge. |
W | Stick ↑. |
S | Stick ↓. |
A | Stick ←. |
D | Stick →. |
↓ | A button. |
← | B button. |
Left Ctrl | Z trigger. |
Right Ctrl | L trigger. |
Numpad 0 | R trigger. |
Enter | START button. |
Numpad 8 | C ↑. |
Numpad 2 | C ↓. |
Numpad 4 | C ←. |
Numpad 6 | C →. |
Y | D-Pad ↑. |
H | D-Pad ↓. |
G | D-Pad ←. |
J | D-Pad →. |